package com.vcc.data.entity;


import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import com.vcc.data.base.entity.BaseEntity;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;

@EqualsAndHashCode(callSuper = true)
@Data
@Setter
@Getter
@Table(value = "vcc_user_statistics")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UserStatistics extends BaseEntity implements Serializable {

    @Column(comment = "用户ID", value = "user_id")
    private Long userId;

    @Column(comment = "统计日期", value = "date")
    private String date;

    @Column(comment = "账户充值", value = "account_recharge_amount")
    private BigDecimal accountRechargeAmount;

    @Column(comment = "账户充值笔数", value = "account_recharge_count")
    private Integer accountRechargeCount;

    @Column(comment = "账户提现", value = "account_withdraw_amount")
    private BigDecimal accountWithdrawAmount;

    @Column(comment = "账户提现笔数", value = "account_withdraw_count")
    private Integer accountWithdrawCount;

    @Column(comment = "卡片充值", value = "card_recharge_amount")
    private BigDecimal cardRechargeAmount;

    @Column(comment = "卡片充值笔数", value = "card_recharge_count")
    private Integer cardRechargeCount;

    @Column(comment = "卡片提现", value = "card_withdraw_amount")
    private BigDecimal cardWithdrawAmount;

    @Column(comment = "卡片提现笔数", value = "card_withdraw_count")
    private Integer cardWithdrawCount;

    @Column(comment = "卡片消费", value = "card_consume_amount")
    private BigDecimal cardConsumeAmount;

    @Column(comment = "卡片消费成功", value = "card_consume_success_amount")
    private BigDecimal cardConsumeSuccessAmount;

    @Column(comment = "卡片消费失败", value = "card_consume_fail_amount")
    private BigDecimal cardConsumeFailAmount;

    @Column(comment = "卡片消费笔数", value = "card_consume_count")
    private Integer cardConsumeCount;

    @Column(comment = "卡片消费成功笔数", value = "card_consume_success_count")
    private Integer cardConsumeSuccessCount;

    @Column(comment = "卡片消费失败笔数", value = "card_consume_fail_count")
    private Integer cardConsumeFailCount;

    @Column(comment = "卡片退款", value = "card_refund_amount")
    private BigDecimal cardRefundAmount;

    @Column(comment = "卡片退款笔数", value = "card_refund_count")
    private Integer cardRefundCount;

    @Column(comment = "卡片撤销", value = "card_reversal_amount")
    private BigDecimal cardReversalAmount;

    @Column(comment = "卡片撤销笔数", value = "card_reversal_count")
    private Integer cardReversalCount;

    @Column(comment = "验证次数", value = "verify_count")
    private Integer verifyCount;

    @Column(comment = "注册用户数", value = "register_count")
    private Integer registerCount;

    @Column(comment = "开卡数", value = "open_card_count")
    private Integer openCardCount;

    @Column(comment = "销卡数", value = "close_card_count")
    private Integer closeCardCount;
}
